package com.label.grade.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.label.grade.entity.Do.CourseGrade;
import com.label.grade.entity.Do.UndergraGrade;
import com.label.grade.entity.Vo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @author Administrator
* @description 针对表【UNDERGRA_GRADE】的数据库操作Mapper
* @createDate 2023-07-07 09:28:11
* @Entity com.hebut.stugrade.entity.Do.UndergraGradeDo
*/
public interface UndergraGradeMapper extends BaseMapper<UndergraGrade> {
    /**
    * @Description: 个人成绩信息
    * @Param:
    * @return:
    * @Author: i++
    * @Date: 2023/7/9
    */
    GradeSummaryCourseGradesVo selectCourseGrades(String stuNumber);
    /**
    * @Description: 个人成绩信息列表，查找出个人成绩信息的姓名，学号，专业，所在专业人数，班级名
    * @Param:
    * @return:
    * @Author: i++
    * @Date: 2023/7/9
    */
    List<GradeSummaryCourseGradesVo> selectCourseGradesInfoList(@Param("classNames") List<String> classNames);
    /**
    * @Description: 班级的个人成绩信息列表，查找出gpa排名，学分排名等
    * @Param:班级列表
    * @return:
    * @Author: i++
    * @Date: 2023/7/9
    */
    List<GradeSummaryCourseGradesVo> selectCourseGradesList(@Param("classNames") List<String> classNames);
    /**
    * @Description: 获取学生界面的绩点趋势图信息
    * @Param:
    * @return:
    * @Author: i++
    * @Date: 2023/7/9
    */
    GpaCompareVo selectGpaCompare(String stuNumber);
    /**
    * @Description: 挂科科目
    * @Param:
    * @return:
    * @Author: i++
    * @Date: 2023/7/9
    */
    List<FailedSubjectVo> selectFailedSubject(String stuNumber);
    /**
    * @Description: 导员、班导师查询本学生的全部成绩
    * @Param:
    * @return:
    * @Author: i++
    * @Date: 2023/7/9
    */
    List<GradeListVo> selectGradeList(String teacherNumber);
    /**
    * @Description: 育人团队负责人查询本学生的全部成绩
    * @Param:
    * @return:
    * @Author: i++
    * @Date: 2023/7/9
    */
    List<GradeListVo> selectGradeForLeaderList(@Param("teacherList") List<String> teacherList);
    /**
    * @Description: 根据班导师工号查询所带学生其他成绩列表
    * @Param:
    * @return:
    * @Author: i++
    * @Date: 2023/7/10
    */
    List<OtherGradeVo> selectOtherGrade(String teacherNumber);
    /**
    * @Description: 根据班导师工号集合查询所带学生其他成绩列表
    * @Param:
    * @return:
    * @Author: i++
    * @Date: 2023/7/10
    */
    List<OtherGradeVo> selectOtherGradeForLeader(@Param("teacherList") List<String> teacherList);
    /**
    * @Description: 根据辅导员工号和专业选择班级
    * @Param:
    * @return:
    * @Author: i++
    * @Date: 2023/7/13
    */
    List<String> selectClassList(@Param("teacherNumber") String teacherNumber, @Param("major") String major);
    /**
    * @Description: 选择班级平均分
    * @Param:
    * @return:
    * @Author: i++
    * @Date: 2023/7/13
    */
    List<ClassScoreVo> selectClassScoreList(@Param("classNameList") List<String> classNameList);
}




